home *** CD-ROM | disk | FTP | other *** search
/ developer.apple.com / developer.apple.com.tar / developer.apple.com / tools / OptimizationExample.dmg / Optimization Example / listings / test.O1.s < prev    next >
Text File  |  2004-07-13  |  4KB  |  208 lines

  1.     .section __TEXT,__text,regular,pure_instructions
  2.     .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
  3. .data
  4. .cstring
  5.     .align 2
  6. LC0:
  7.     .ascii "doWhileWithReturn returned %d\12\0"
  8.     .align 2
  9. LC1:
  10.     .ascii "doubleTest returned %lf\12\0"
  11. .section __TEXT,__text,regular,pure_instructions
  12.     .align 2
  13.     .align 2
  14.     .globl _main
  15. .section __TEXT,__text,regular,pure_instructions
  16.     .align 2
  17. _main:
  18.     mflr r0
  19.     stw r31,-4(r1)
  20.     stw r0,8(r1)
  21.     stwu r1,-96(r1)
  22.     bcl 20,31,"L00000000001$pb"
  23. "L00000000001$pb":
  24.     mflr r31
  25.     bl L_arrayAssignmentLoop$stub
  26.     bl L_doWhileWithReturn$stub
  27.     mr r4,r3
  28.     addis r3,r31,ha16(LC0-"L00000000001$pb")
  29.     la r3,lo16(LC0-"L00000000001$pb")(r3)
  30.     bl L_printf$stub
  31.     bl L_doubleTest$stub
  32.     addis r3,r31,ha16(LC1-"L00000000001$pb")
  33.     la r3,lo16(LC1-"L00000000001$pb")(r3)
  34.     stfd f1,64(r1)
  35.     lwz r4,64(r1)
  36.     lwz r5,68(r1)
  37.     bl L_printf$stub
  38.     li r3,0
  39.     lwz r0,104(r1)
  40.     addi r1,r1,96
  41.     mtlr r0
  42.     lwz r31,-4(r1)
  43.     blr
  44.     .align 2
  45.     .globl _arrayAssignmentLoop
  46. .section __TEXT,__text,regular,pure_instructions
  47.     .align 2
  48. _arrayAssignmentLoop:
  49.     li r0,10
  50.     mtctr r0
  51.     li r2,0
  52.     addi r9,r1,-64
  53. L3:
  54.     slwi r0,r2,2
  55.     mfctr r11
  56.     stwx r11,r9,r0
  57.     addi r2,r2,1
  58.     bdnz L3
  59.     blr
  60.     .align 2
  61.     .globl _doWhileWithReturn
  62. .section __TEXT,__text,regular,pure_instructions
  63.     .align 2
  64. _doWhileWithReturn:
  65.     li r2,100
  66.     li r3,0
  67.     li r0,62
  68. L8:
  69.     add r3,r3,r0
  70.     cmpwi cr7,r2,0
  71.     addi r2,r2,-1
  72.     bne+ cr7,L8
  73.     blr
  74. .data
  75. .literal8
  76.     .align 3
  77. LC2:
  78.     .long    0
  79.     .long    0
  80.     .align 3
  81. LC3:
  82.     .long    1127219200
  83.     .long    0
  84. .section __TEXT,__text,regular,pure_instructions
  85.     .align 2
  86.     .align 2
  87.     .globl _doubleTest
  88. .section __TEXT,__text,regular,pure_instructions
  89.     .align 2
  90. _doubleTest:
  91.     stmw r30,-8(r1)
  92.     stwu r1,-64(r1)
  93.     mr r30,r1
  94.     mflr r0
  95.     bcl 20,31,"L00000000002$pb"
  96. "L00000000002$pb":
  97.     mflr r6
  98.     mtlr r0
  99.     li r7,100
  100.     lwz r2,0(r1)
  101.     lis r0,0xfffe
  102.     ori r0,r0,51056
  103.     stwux r2,r1,r0
  104.     addi r11,r1,32
  105.     addis r2,r6,ha16(LC2-"L00000000002$pb")
  106.     lfd f1,lo16(LC2-"L00000000002$pb")(r2)
  107.     li r10,0
  108.     lis r8,0x4330
  109.     addis r2,r6,ha16(LC3-"L00000000002$pb")
  110.     lfd f13,lo16(LC3-"L00000000002$pb")(r2)
  111. L22:
  112.     li r2,0
  113.     mullw r9,r10,r7
  114.     stw r10,36(r30)
  115.     stw r8,32(r30)
  116.     lfd f0,32(r30)
  117.     fsub f0,f0,f13
  118. L21:
  119.     add r0,r2,r9
  120.     slwi r0,r0,3
  121.     stfdx f0,r11,r0
  122.     fadd f1,f1,f0
  123.     addi r2,r2,1
  124.     cmplwi cr7,r2,99
  125.     ble+ cr7,L21
  126.     addi r10,r10,1
  127.     cmplwi cr7,r10,99
  128.     ble+ cr7,L22
  129.     lwz r1,0(r1)
  130.     lmw r30,-8(r1)
  131.     blr
  132. .data
  133. .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
  134.     .align 2
  135. L_doubleTest$stub:
  136.     .indirect_symbol _doubleTest
  137.     mflr r0
  138.     bcl 20,31,L0$_doubleTest
  139. L0$_doubleTest:
  140.     mflr r11
  141.     addis r11,r11,ha16(L_doubleTest$lazy_ptr-L0$_doubleTest)
  142.     mtlr r0
  143.     lwzu r12,lo16(L_doubleTest$lazy_ptr-L0$_doubleTest)(r11)
  144.     mtctr r12
  145.     bctr
  146. .data
  147. .lazy_symbol_pointer
  148. L_doubleTest$lazy_ptr:
  149.     .indirect_symbol _doubleTest
  150.     .long dyld_stub_binding_helper
  151. .data
  152. .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
  153.     .align 2
  154. L_printf$stub:
  155.     .indirect_symbol _printf
  156.     mflr r0
  157.     bcl 20,31,L1$_printf
  158. L1$_printf:
  159.     mflr r11
  160.     addis r11,r11,ha16(L_printf$lazy_ptr-L1$_printf)
  161.     mtlr r0
  162.     lwzu r12,lo16(L_printf$lazy_ptr-L1$_printf)(r11)
  163.     mtctr r12
  164.     bctr
  165. .data
  166. .lazy_symbol_pointer
  167. L_printf$lazy_ptr:
  168.     .indirect_symbol _printf
  169.     .long dyld_stub_binding_helper
  170. .data
  171. .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
  172.     .align 2
  173. L_doWhileWithReturn$stub:
  174.     .indirect_symbol _doWhileWithReturn
  175.     mflr r0
  176.     bcl 20,31,L2$_doWhileWithReturn
  177. L2$_doWhileWithReturn:
  178.     mflr r11
  179.     addis r11,r11,ha16(L_doWhileWithReturn$lazy_ptr-L2$_doWhileWithReturn)
  180.     mtlr r0
  181.     lwzu r12,lo16(L_doWhileWithReturn$lazy_ptr-L2$_doWhileWithReturn)(r11)
  182.     mtctr r12
  183.     bctr
  184. .data
  185. .lazy_symbol_pointer
  186. L_doWhileWithReturn$lazy_ptr:
  187.     .indirect_symbol _doWhileWithReturn
  188.     .long dyld_stub_binding_helper
  189. .data
  190. .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
  191.     .align 2
  192. L_arrayAssignmentLoop$stub:
  193.     .indirect_symbol _arrayAssignmentLoop
  194.     mflr r0
  195.     bcl 20,31,L3$_arrayAssignmentLoop
  196. L3$_arrayAssignmentLoop:
  197.     mflr r11
  198.     addis r11,r11,ha16(L_arrayAssignmentLoop$lazy_ptr-L3$_arrayAssignmentLoop)
  199.     mtlr r0
  200.     lwzu r12,lo16(L_arrayAssignmentLoop$lazy_ptr-L3$_arrayAssignmentLoop)(r11)
  201.     mtctr r12
  202.     bctr
  203. .data
  204. .lazy_symbol_pointer
  205. L_arrayAssignmentLoop$lazy_ptr:
  206.     .indirect_symbol _arrayAssignmentLoop
  207.     .long dyld_stub_binding_helper
  208.